<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>axios</title>
  </head>
  <body>
    <pre>
        fetch基于promise
        axios也是基于Promise的http库
        axios默认发送JSON格式

        get传参格式{params:{}}
        post传参格式{}

        get发送默认格式是标准字符串
        post发送默认是对象

        后台接收数据
            get接收时 静态参数req.query.xxxx   动态接收参数req.params.xxx
            <!-- post接收数据时使用body-parser的req.body.xxx -->
            URLSearchParams是发送标准字符串
            FormData是发送的multipart/form-data ----在后台需要其他插件
            后台  传回数据格式  send  json 
    </pre>
    <script src="../node_modules/axios/dist/axios.js"></script>
    <script>
      // 全局配置
      axios.defaults.timeout = 4000
      axios.defaults.baseURL = 'Http://localhost:3000'
      axios.defaults.headers['mytoken'] = 'hello'
      //   axios.get('/axios?id=我是6666').then((data) => {
      //     const { data: res } = data
      //     console.log(res)
      //   })

      //   axios.get('/axios/6666666').then((data) => {
      //     const { data: res } = data
      //     console.log(res)
      //   })
      //   有参数
      //   axios
      //     .get('/axios', {
      //       params: {
      //         id: '我用params发送的id',
      //       },
      //     })
      //     .then((data) => {
      //       const { data: res } = data
      //       console.log(res)
      //     })

      axios
        .post('/axios', {
          uname: '我用params发送的uname',
          pwd: 'pwd',
        })
        .then((data) => {
          const { data: res } = data
          console.log(res)
        })

      var params = new URLSearchParams()
      params.append('uname', 'URLSearchParams')
      params.append('pwd', 'pwd')
      axios
        .put(
          '/axios/100',
          params,
          // {
          //   params: {
          //     uname: 'uname',
          //     pwd: 'pwd',
          //   },
          // }
        )
        .then((data) => {
          const { data: res } = data
          console.log(res)
        })

      var form = new FormData() //   multipart/form-data
      form.append('uname', 'formdata')
      form.append('pwd', 'pwd')
      axios.put('axios/101', form).then((data) => {
        const { data: res } = data
        console.log(res)
      })
    </script>
  </body>
</html>
